Flight dynamics conventions
A frame in CelestLab is defined by 3 axes perpendicular to each-other. The center of the frame (that is to say the origin) is not part of the definition.
For instance one may define a frame centered on Mars with axes parallel to those of GCRS.
Even "ECI", despite what the acronym might lead to believe, is not necessarily Earth-centered.
See Reference frames or Local Frames for more details.
The frame transformation matrix from a frame "Framei" to a frame "Framef" is defined as the matrix transforming vector coordinates relative to "Framei" to coordinates relative to "Framef":
For example, let Framef be the image of Framei by the rotation of angle θ and axis X. The frame transformation matrix from Framei to Framef is defined by:
Note:
The rotation matrix that transforms the basis vectors of Framei into the basis vectors of Framef is the transpose (or inverse) of the frame transformation matrix from Framei to Framef.
The Jacobian matrix for a function y = f(x)
is such that:
dy = J * dx
(where J is a function of x).
If x is a vector of size Nx1 (N rows) and y is a vector of size Px1 (P rows), then J is a matrix of size PxN (as many rows as in y and as many columns as in x).
If x and y are "vectorized", x and y are matrices and J is a hypermatrix.
Let the size of x be NxQ and the size of y be PxQ, then the size of J is PxNxQ.
The element J(i,j,k)
represents dy(i,k)/dx(j,k)
Example: Transformation of orbital elements ("kep" to "cir"):
[cir, J] = CL_oe_kep2cir(kep);
The increment on the "circular" elements dcir
can be computed by: dcir = J * dkep
and for instance J(3,2,k)
corresponds to d(ey)/d(ecc)
for the kth set of orbital elements (aka kep(:,k)
).
Let R be the rotation of angle θ and axis a. The image of a vector by the rotation is obtained using the "corkscrew rule" around the axis a.
The quaternion associated with the rotation R in frame F is defined by:
q = [cos(θ/2) ; sin(θ/2) * ax ; sin(θ/2) * ay ; sin(θ/2) * az]
where (ax, ay, az) are the components of the rotation axis in frame F.
Notes:
The image v of a vector u by the rotation R in frame F can be defined by:
V = q * U * ~q
where ~q is the conjuquate of q, U is the quaternion [0; ux; uy; uz], V is the quaternion [0; vx; vy; vz], and (ux, uy, uz) and (vx, vy, vz) are the components of u and v in frame F.
Let F° be the image of F by the rotation R. It means that the basis vectors of F° are the respective images of the basis vectors of frame F by the rotation. Then q can also be written:
q = [cos(θ/2) ; sin(θ/2) * ax° ; sin(θ/2) * ay° ; sin(θ/2) * az°]
where (ax°, ay°, az°) are the components of the rotation axis in frame F°.
The convention used is the following:
Let's assume that t1 represents the time of some event relative to time scale 1, and t2 represents the time of the same event relative to time scale 2. Then the notation t1_t2 simply represents t1 minus t2.
Examples:
ut1_tai (function argument):
Time of some event in UT1 time scale minus time of the same event in TAI time scale.
%CL_TT_TREF
(CelestLab predefined variable):
Time of some event in TT time scale minus time of the same event in TREF time scale.
The units used in CelestLab are the USI units: metre, second, kilogramme, radian ...
The units of function arguments should be USI units if some of the default arguments (which have units) are used. For instance:
kep = CL_oe_car2kep(pos,vel);
implies that pos be given in m and vel in m/s, because the implicit value of the gravitational constant is in m^3/s^2.
But it is (generally) possible to use function with arguments in other units than USI, provided the units are consistent. The only condition is that the function does not use internal data with USI units. A note in the function documentation should in principle tell the user that internal data are used, which enforces the use of USI units.
Here are some Flight dynamics terms and acronyms used in CelestLab:
Name | Description |
ECI/ECF | Names of the reference frames, respectively nearly inertial and tied to Earth commonly used for Earth orbit studies |
TREF | Names of CelestLab reference time scale |
Elevation | Angle between from a given location between some direction and the local horizon |